package com.shop.cereshop.app.page.product;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.shop.cereshop.app.annotation.KeepLongAsNumber;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @description: 用户访问商品列表VO
 * @author zdd
 * @date 2025/11/4 10:15
 * @version 1.0
 */
@ApiModel(value = "ProductVisitListVO", description = "用户访问商品列表VO")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProductVisitListVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "访问记录id")
    @KeepLongAsNumber
    private Long visitId;

//    @ApiModelProperty(value = "访问用户id")
//    @KeepLongAsNumber
//    private Long buyerUserId;

    @ApiModelProperty(value = "商品id")
    @KeepLongAsNumber
    private Long productId;

    @ApiModelProperty(value = "商品名称")
    private String productName;

    @ApiModelProperty(value = "商品简介")
    private String productBrief;

    @ApiModelProperty(value = "商品售卖类型 1-同城服务 2-线上商城 3-同城配送")
    private Integer productType;

    @ApiModelProperty(value = "店铺id")
    @KeepLongAsNumber
    private Long shopId;

    @ApiModelProperty(value = "店铺名称")
    private String shopName;

    @ApiModelProperty(value = "店铺所在城市编码")
    @JsonIgnore
    private String shopCityCode;

    @ApiModelProperty(value = "商家类型表 1-同城服务 2-线上商城 3-同城配送")
    private Integer shopType;

    @ApiModelProperty(value = "店铺评分")
    private BigDecimal shopScore;

    @ApiModelProperty(value = "skuId")
    @KeepLongAsNumber
    private Long skuId;

    @ApiModelProperty(value = "商品原价")
    private BigDecimal originalPrice;

    @ApiModelProperty(value = "售价")
    private BigDecimal price;

    @ApiModelProperty(value = "商品图片")
    private String productImage;

    @ApiModelProperty(value = "销量")
    @KeepLongAsNumber
    private Long salesVolume;

    @ApiModelProperty(value = "商品分类id")
    @KeepLongAsNumber
    private Long classifyId;

    @ApiModelProperty(value = "商品分类名称")
    private String classifyName;

    @ApiModelProperty(value = "店铺标签")
    private List<String> shopLabels;

    @ApiModelProperty(value = "商品评分")
    private BigDecimal productScore;

    @ApiModelProperty(value = "商品标签")
    private List<String> productLabels;


}
